package com.example.toy.core.reader;

import com.example.toy.core.dataset.BigCollection;
import com.example.toy.core.filter.ToyFilter;
import com.example.toy.core.record.ToyRecord;
import com.example.toy.core.record.key.ToyRecordKey;
import com.example.toy.core.table.ToyTableMeta;
import java.util.List;
import java.util.Optional;

public interface ToyTableReader {

  ToyTableMeta getTableMeta();

  Optional<ToyRecord> readKey(ToyRecordKey key);

  BigCollection<ToyRecord> readKeys(List<ToyRecordKey> keys);

  BigCollection<ToyRecord> readFull(ToyFilter filters);

  BigCollection<ToyRecord> readPartition(String partition, ToyFilter filters);
}
